package emi99

type BaseRsp struct {
	Code string `json:"code"`
	Msg  string `json:"msg"`
	Sign string `json:"sign"`
	Data string `json:"data"`
}

// MicroReq 条码支付
type MicroReq struct {
	Amount     string `json:"amount"`     //交易金额，单位：分	(必
	AuthCode   string `json:"authCode"`   //付款码信息		(必
	CustomerNo string `json:"customerNo"` // 商户编号信息		(必
	Device     string `json:"device"`     //设备编号
	Effective  string `json:"effective"`  //有效时间，单位：分
	NotifyUrl  string `json:"notifyUrl"`  //交易成功通知地址
	OutOrderNo string `json:"outOrderNo"` //接入方唯一的订单号	(必
	Subject    string `json:"subject"`    //交易主题，描述	(必
	Attach     string `json:"attach"`     //商户自定义域长度：256
	TypeCode   string `json:"typeCode"`   //见字典值说明 false string
}

// MicroRsp 条码支付响应
type MicroRsp struct {
	OrderNo     string `json:"orderNo"`     //平台订单号
	OutOrderNo  string `json:"outOrderNo"`  //接入方订单号
	TypeCode    string `json:"typeCode"`    //支付方式信息
	SuccessTime string `json:"successTime"` //交易成功时间:yyyy-MM-dd HH:mm:ss
	Status      string `json:"status"`      //交易状态：交易结果未知时需调用查询接口
}

// QueryReq 支付查询
type QueryReq struct {
	OutOrderNo string `json:"outOrderNo"` //二选一
	OrderNo    string `json:"orderNo"`    //二选一
	CustomerNo string `json:"customerNo"` //商户编号，服务商使用时不能为空
}

// QueryRsp 支付查询响应
type QueryRsp struct {
	OrderNo             string `json:"orderNo"`             //平台订单号
	OutOrderNo          string `json:"outOrderNo"`          //商户订单号
	Status              string `json:"status"`              //交易状态
	CustomerNo          string `json:"customerNo"`          //商户编号
	TypeCode            string `json:"typeCode"`            //支付方式
	MethodCode          string `json:"methodCode"`          //交易场景
	Amount              int    `json:"amount"`              //交易金额，单位：分
	SuccessTime         string `json:"successTime"`         //交易成功时间:yyyy-MM-dd HH:mm:ss
	Device              string `json:"device"`              //设备编号
	Subject             string `json:"subject"`             //交易主题，描述
	CardType            string `json:"cardType"`            //卡类型 银行卡交易包含，DEBIT：借记卡，CREDIT：贷记卡
	Attach              string `json:"attach"`              //商户自定义域
	ReferenceNo         string `json:"referenceNo"`         //交易参考号
	AppliedRefundAmount int    `json:"appliedRefundAmount"` //已发起的退款金额，单位分
}

// RefundReq 退款申请
type RefundReq struct {
	Amount             string `json:"amount"`     //申请退款金额
	CustomerNo         string `json:"customerNo"` //商户编号
	Device             string `json:"device"`     //设备编号
	Effective          string `json:"effective"`  //交易有效时间，单位：分钟
	NotifyUrl          string `json:"notifyUrl"`
	OriginalAmount     string `json:"originalAmount"`     //原交易金额
	OriginalOrderNo    string `json:"originalOrderNo"`    //原交易平台订单号
	OriginalOutOrderNo string `json:"originalOutOrderNo"` //原交易接入订单号 (必
	OutOrderNo         string `json:"outOrderNo"`         //接入方退款订单号
	Subject            string `json:"subject"`
	TypeCode           string `json:"typeCode"`
}

// RefundRsp 退款申请
type RefundRsp struct {
	OrderNo    string `json:"orderNo"`
	OutOrderNo string `json:"outOrderNo"`
	Status     string `json:"status"`
}

// RefundQueryReq 退款订单查询
type RefundQueryReq struct {
	CustomerNo string `json:"customerNo"` //商户编号 (必
	OrderNo    string `json:"orderNo"`    //二选一
	OutOrderNo string `json:"outOrderNo"` //二选一
}

// RefundQueryRsp 退款订单查询响应
type RefundQueryRsp struct {
	Amount     string `json:"amount"`     //退款金额，单位：分
	OrderNo    string `json:"orderNo"`    //平台订单号
	OutOrderNo string `json:"outOrderNo"` //接入方订单号
	Status     string `json:"status"`     //退款订单状态
}
